package com.wesley.future.Controller;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import com.wesley.future.Dao.UsuarioDao;
import com.wesley.future.DaoImp.UsuarioDaoImp;
import com.wesley.future.Model.Usuarios;

@ManagedBean
@SessionScoped
public class UsuarioController {
	
	private Usuarios usuario;
	private DataModel listaUsuarios;
	
	public DataModel getListarUsuarios(){
		List<Usuarios> lista = new UsuarioDaoImp().list();
		listaUsuarios = new ListDataModel(lista);
		return listaUsuarios;
	}
	
	public Usuarios getUsuarios(){
		return usuario;
	}

	public void setUsuarios(Usuarios usuario){
		this.usuario = usuario;
	}
	
	public void prepararAdicionarUsuarios(ActionEvent actionEvent){
		usuario = new Usuarios();
		
	}
	
	public void prepararAlterarUsuarios(ActionEvent actionEvent){
		usuario = (Usuarios)(listaUsuarios.getRowData());
	}
	
	public String excluirUsuarios(){
		Usuarios usuarioTemp = (Usuarios)(listaUsuarios.getRowData());
		UsuarioDao dao = new UsuarioDaoImp();
		dao.remove(usuarioTemp);
		return "index";
		
	}
	
	public void adicionarUsuarios(ActionEvent actionEvent){
		UsuarioDao dao = new UsuarioDaoImp();
		dao.save(usuario);

	}
	public void alterarUsuarios(ActionEvent actionEvent){
		UsuarioDao dao = new UsuarioDaoImp();
		dao.update(usuario);
	}
	
	
}
